// d:\project\honey-Alliance-project\shenye-dy-applet\components\countDown\countDown.js
Component({
  properties: {
    starTime: {
      type: String,
      value: ''
    },
    showDay: {
      type: Boolean,
      value: true
    },
    showType: {
      type: Number,
      value: 1
    },
    backgroundColor: {
      type: String,
      value: ''
    },
    color: {
      type: String,
      value: '#333'
    },
    fontSize: {
      type: Number,
      value: 14
    },
    splitorColor: {
      type: String,
      value: '#333'
    },
  },
  data: {
    day: '0',
    hour: '00',
    min: '00',
    second: '00',
    timer: null,
    selectColumns:''
  },
  lifetimes:{
    // 页面挂载
    attached(){
      this.countTime()
    }
  },
  methods: {
    countTime() {
      // 获取当前时间
      let date = new Date()
      let now = date.getTime()
      // 设置截止时间
      let endDate = new Date(this.data.starTime.replace(/-/g,'/')) // this.selectColumns需要倒计时的日期
      let end = endDate.getTime()
      // 时间差
      let leftTime = end - now
      // 定义变量 d,h,m,s保存倒计时的时间
      if (leftTime >= 0) {
        let h = Math.floor(leftTime / 1000 / 60 / 60 % 24)   // 时
        let m = Math.floor(leftTime / 1000 / 60 % 60) // 分
        let s = Math.floor(leftTime / 1000 % 60) // 秒
        this.setData({
          day: Math.floor(leftTime / 1000 / 60 / 60 / 24),  // 天
          hour:h < 10 ? '0' + h : h,  // 时
          min:m < 10 ? '0' + m : m, // 分
          second:s < 10 ? '0' + s : s, // 秒
        })
      } else {
        this.setData({
          day: 0,  // 天
          hour:'00',  // 时
          min:'00', // 分
          second:'00', // 秒
        })
      }
      // 等于0的时候不调用
      if (Number(this.data.hour) === 0 && Number(this.data.day) === 0 && Number(this.data.min) === 0 && Number(this.data.second) ===
        0) {
        clearInterval(this.data.timer)
        this.triggerEvent('endSuccess')
        return
      } else {
        // 递归每秒调用countTime方法，显示动态时间效果,
        this.setData({
          timer: setTimeout(this.countTime, 1000)
        })
      }
    },
  }
})